#ifndef _KEYBOARD_H
#define _KEYBOARD_H

/* Special Keys */

#define		ESC			0x001
#define		NA			0x00
#define		CAPSLOCK	0x3A
#define		RSHIFT		0x36
#define		LSHIFT		0x2A
#define		NUMLOCK		0x45
#define		UPARROW		0x48
#define		DOWNARROW	0x50
#define		LEFTARROW	0x4B
#define		RIGHTARROW	0x4D
#define     ENTER 		0x1C
#define     BACKSPACE       0x0E
#define		TAB		0x0F
#define		F1		0x3B
#define		F2		0x3C
#define		F3		0x3D
#define		F4		0x3E
#define		F7		0x41
#define		F5		0x3F
#define		F6		0x40
#define		F8		0x42
#define		F9		0x43
#define		F10		0x44
#define		F11		0x57
#define		F12		0X58

#define		UPARROW_EXTENDED  0x01
#define		DOWNARROW_EXTENDED 0x02

/* Define Quantitys */

#define CLAVIER_NRO	4
#define	KEYS_NRO	130
#define MAX_BUFFER_SIZE  1024

#define SHIFT_MAKE(r)   (r)&LSHIFT || RSHIFT
#define SHIFT_BREAK(r)

/* Keyboard functions */

char getAscii(int scanCode);

void setShift(int scanCode);

void setCapsLock(int scanCode);

int isFmake(int code);

int canBeShowed(int code);

void addKeyToBuffer(unsigned char ascii);

unsigned char getcharNB(void);

#endif /*KEYBOARD_H_*/

